package proyecto1;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import proyecto1.DataBase;


/**
 *
 * @author CalvareZ
 */


public class  Proyecto1 extends Application {
    private DataBase db = new DataBase("jdbc:derby://localhost:1527/Test","rodrigo",
            "12345","SELECT * FROM RODRIGO.LIBROS");
        
   
    public static void main(String[] args) {
        launch(Proyecto1.class, args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        // Use tab pane with one tab for sizing UI and one tab for alignment UI
        TabPane tabs = new TabPane();
        Tab tabCompras = new Tab();
        tabCompras.setText("Comprar");
        tabCompras.setContent(Compra());
        
        Tab tabVentas = new Tab();
        tabVentas.setText("Vender");
        tabVentas.setContent(Venta());
        
        Tab tabAyuda = new Tab ();
        tabAyuda.setText ("?");
        tabAyuda.setContent(Ayuda());
        
        tabs.getTabs().addAll(tabCompras, tabVentas, tabAyuda);
        
        Scene scene = new Scene(tabs, 1200, 900); // Manage scene size
        primaryStage.setTitle("Compra-Venta de libros");
        primaryStage.setScene(scene);
        primaryStage.show();       
     
     }
    
    private Pane Compra() {
        
    GridPane grid = new GridPane();
    grid.setHgap(10);
    grid.setVgap(12);
    

    HBox hbButtons = new HBox();
    hbButtons.setSpacing(10.0);

    Button btnBusqueda = new Button("Buscar");                
    btnBusqueda.setStyle("-fx-font-size: 15pt;");
        btnBusqueda.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("BUSCANDO");
            }
    });

    TableView table = new TableView();
    Label label = new Label("Libros");
        label.setFont(new Font("Arial", 20));
 
        TableColumn autor = new TableColumn("Autor");
        TableColumn edicion = new TableColumn("Edición");
        TableColumn nombre = new TableColumn("Nombre");
        TableColumn year = new TableColumn("Año");
        TableColumn estado = new TableColumn("Estado");
        TableColumn precio = new TableColumn("Precio");
        TableColumn curso = new TableColumn("Curso");
        TableColumn profesor = new TableColumn("Profesor");
        TableColumn correo = new TableColumn("Correo");
          
        table.getColumns().addAll(autor,edicion,nombre,year,estado,precio,curso,
                profesor,correo);
       
     final VBox vbox = new VBox();
        vbox.setSpacing(1);
        vbox.getChildren().addAll(label, table);
        vbox.setPadding(new Insets(10, 0, 0, 10));   
    
    Label lbautor = new Label("Autor");
    TextField tfautor = new TextField();
    Label lbtitulo = new Label("Título");
    TextField tftitulo = new TextField();

    hbButtons.getChildren().addAll(btnBusqueda);
    grid.add(lbautor, 0, 2);
    grid.add(tfautor, 1, 2);
    grid.add(lbtitulo, 0, 3);
    grid.add(tftitulo, 1, 3);
    grid.add(hbButtons, 2, 7, 3, 1);
    grid.add(table, 2, 1);
    
    
    
    return grid;
    }
  
    private Pane Venta() {
        
        GridPane grid = new GridPane();
    grid.setHgap(10);
    grid.setVgap(12);

    HBox hbButtons = new HBox();
    hbButtons.setSpacing(10.0);

    Button btnEnvio = new Button("Enviar");
    Button btnCancelacion = new Button("Cancelar");
    btnEnvio.setStyle("-fx-font-size: 15pt;");
    
    Label lblAutor = new Label("Autor");
    final TextField tfAutor = new TextField();
    Label lblEdicion = new Label("Edición");
    final TextField tfEdicion = new TextField();
    Label lblTitulo = new Label("Título");
    final TextField tfTitulo = new TextField();
    Label lblAnio = new Label("Año");
    final TextField tfAnio = new TextField();
    Label lblEstado = new Label("Estado");
    final TextField tfEstado = new TextField();
    Label lblPrecio = new Label("Precio");
    final TextField tfPrecio = new TextField();
    Label lblCurso = new Label("Curso");
    final TextField tfCurso = new TextField();
    Label lblProfesor = new Label("Catedrático");
    final TextField tfProfesor = new TextField();
    Label lblContacto = new Label("e-Mail");
    final TextField tfContacto = new TextField();
    
    btnEnvio.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                db.almacenar(tfAutor.getText(), tfEdicion.getText(), tfTitulo.getText()
                        ,tfAnio.getText() ,tfEstado.getText(),tfPrecio.getText(), tfCurso.getText(),tfProfesor.getText()
                        , tfContacto.getText());
                
            }
    });
    
    btnCancelacion.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("CANCELANDO");
            }
    });

    

    hbButtons.getChildren().addAll(btnEnvio, btnCancelacion);
    grid.add(lblAutor, 0, 0);
    grid.add(tfAutor, 1, 0);
    grid.add(lblEdicion, 0, 1);
    grid.add(tfEdicion, 1, 1);
    grid.add(lblTitulo, 0, 2);
    grid.add(tfTitulo, 1, 2);
    grid.add(lblAnio, 0, 3);
    grid.add(tfAnio, 1, 3);
    grid.add(lblEstado, 0, 4);
    grid.add(tfEstado, 1, 4);
    grid.add(lblPrecio, 0, 5);
    grid.add(tfPrecio, 1, 5);
    grid.add(lblCurso, 0, 6);
    grid.add(tfCurso, 1, 6);
    grid.add(lblProfesor, 0, 7);
    grid.add(tfProfesor, 1, 7);
    grid.add(lblContacto, 0, 8);
    grid.add(tfContacto, 1, 8);

    grid.add(hbButtons, 1, 10, 2, 1);

    return grid;
    }
    
 private Pane Ayuda() {
        
        GridPane grid = new GridPane();
    grid.setHgap(10);
    grid.setVgap(12);
    
    return grid;
    }   
    
}